package com.humanminoritygame.model;

import java.util.ArrayList;
import java.util.Set;


public interface SubscriptionRepo {
  public void addSubscription(Subscription subscription);
  public Set<Subscription> getRoomSubscriptions(Room room);
  public Set<Subscription> getRoomActiveSubscriptions(Room room);
  public Set<Subscription> getUserSubscriptions(User user);
  public Set<Subscription> getAllSubscriptions();
  public boolean isSubscribed(User user, Category category);
  public Subscription getSubscription(User user, Category category);
  public Subscription getSubscription(User user, Room room);
  public Subscription getSubscription(Long subscriptionId);
  public Set<Subscription> getSubscriptions(Category category);
  public Set<Subscription> getActiveSubscriptions(User user);
  public Set<Subscription> getOpenSubscriptions(User user);
  public Set<Subscription> getClosedSubscriptions(User user);
  public ArrayList<Subscription> getRoomSubscriptionsOrderByScore(Room room);
}
